EXECUTION= ../../.objs/release/execution.o
DBITVEC= ../../.objs/release/dbitvec.o
LIB=../../lib/release/libexecution.a
DEP=../../include/util.h ../../include/defs.h/ ../../include/execution.h ../../include/algorithm_call.h
BDEP=../../include/dbitvec.h
TFRAME = ../../.objs/TFrame.o
BFS = ../../.objs/BFSTask.o
TRANSLATE = ../../.objs/translate.o
generate = ../../bin/release/generate
ALGO = ../../.objs/algorithm_call.o
BFSDEP=../../include/BFSTask.h 
MODE ?=release
FLAG= 



$(LIB): $(EXECUTION) $(DBITVEC) $(BFS) $(TFRAME) $(ALGO)
	ar rcs $(LIB) $(EXECUTION) $(DBITVEC) $(BFS) $(TFRAME) $(ALGO)

$(EXECUTION): execution.cpp $(DEP)
	g++ -c $(FLAG) -o $(EXECUTION) $< -I ../../include/

$(DBITVEC): dbitvec.cpp $(BDEP)
	g++ -c $(FLAG) -o $(DBITVEC) $< -I ../../include/

$(BFS): BFSTask.cpp $(BFSDEP)
	$(CC) -g -c -o $@ $< -I ../../include/ -pthread

$(ALGO): algorithm_call.cpp ../../include/algorithm_call.h
	$(CC) -g -c -o $@ $< -I ../../include/ -pthread

$(TFRAME): TFrame.cpp ../../include/TFrame.h ../../include/Task.h
	$(CC) -g -c -o $@ $< -I ../../include/ -pthread

Generate: $(bindir)$(generate)

$(generate): generate.cpp
	$(CC) -g -O3 -o $@ $^ -I $(incdir) -pthread

$(TRANSLATE): translate.cpp ../../include/translate.h
	$(CC) -g -c -o $@ $< -I ../../include -pthread -lboost_graph
clean :
	rm -f $(EXECUTION) $(DBITVEC) $(LIB) $(BFS) $(TFRAME)
